package com.fbs.wowo.blockchain.service;

import com.fbs.wowo.blockchain.vo.BlockDetail;
import com.fbs.wowo.blockchain.vo.BlockchainStatistics;

import java.io.IOException;
import java.util.List;

public interface BrowserService {

    /**
     * 区块高度
     * 交易数量
     * 用户数量
     * @return BlockchainStatistics
     */
    public BlockchainStatistics statistics();

    /**
     * 交易记录
     * @param pageNo 页码
     * @param pageSize 每页数据
     * @return list
     */
    List findTransactions(Integer pageNo, Integer pageSize);

    /**
     * 单条交易记录
     * @param trxId
     * @return
     */
    Object findTransaction(String trxId);

    /**
     * 区块信息
     * @param pageNo 页码
     * @param pageSize 每页数据
     * @return list
     */
    List findBlocks(Integer pageNo, Integer pageSize);

    /**
     * 细节
     * @param transactionId 交易id
     * @return BlockDetail
     */
    BlockDetail detail(String transactionId);

    /**
     * 搜索
     * @param search
     * @return
     * @throws IOException
     */
    Object search(String search) throws IOException;
}
